<template>
	<view class="wrap">
		<view class="top">
			<view class="item">
				<view class="left">收货人</view>
				<input type="text" v-model="addressInfo.name" placeholder-class="line" placeholder="请填写收货人姓名" />
			</view>
			<view class="item">
				<view class="left">手机号码</view>
				<u-input type="number" v-model.number="addressInfo.phone" placeholder-style="color:#c0c4cf;"
					placeholder="请填写收货人手机号" :maxlength="11" />
			</view>
			<view class="item" @tap="showRegionPicker">
				<view class="left">所在地区</view>
				<input disabled type="text" v-model="addressInfo.site" placeholder-class="line"
					placeholder="省市区县、乡镇等" />
			</view>
			<view class="item address">
				<view class="left">详细地址</view>
				<textarea type="text" v-model="addressInfo.detailAddress" placeholder-class="line"
					placeholder="街道、楼牌等" />
			</view>
		</view>
		<u-picker mode="region" ref="uPicker" v-model="show" @confirm='confirm' />
		<view class="u-m-t-80">
			<u-button @click="upDateSite" shape="circle">确定修改</u-button>
		</view>
		<view class="u-m-t-80">
			<u-button @click="deleteSite" shape="circle">删除当前地址</u-button>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				show: false,
				index: '',
				addressInfo: {
					name: '',
					phone: '',
					site: '',
					detailAddress: '',
					address_Id: ''
				}
			};
		},
		onLoad(option) {
			this.index = option.index
			this.addressInfo.name = option.name
			this.addressInfo.phone = option.phone
			this.addressInfo.site = option.site
			this.addressInfo.detailAddress = option.detailAddress
			this.addressInfo.address_Id = option.address_Id
			// console.log(this.addressInfo.address_Id);
		},
		methods: {
			showRegionPicker() {
				this.show = true;
			},
			//更新地址
			upDateSite() {
				let _this = this
				const username = uni.getStorageSync('username');
				uniCloud.callFunction({
					name: 'update-address',
					data: {
						username: username,
						index: this.index,
						addressInfo: this.addressInfo
					}
				}).then(res => {
					_this.$u.toast('修改地址成功')
					setTimeout(() => {
						this.$u.route({
							url: '/pages/address/address'
						});
					}, 1500)
				})
			},
			//删除地址
			deleteSite() {
				let _this = this
				console.log(this.index);
				const username = uni.getStorageSync('username');
				uniCloud.callFunction({
					name: 'remove-address',
					data: {
						username: username,
						address_Id: this.addressInfo.address_Id,
					}
				}).then(res => {
					_this.$u.toast('删除成功')
					setTimeout(() => {
						this.$u.route({
							url: '/pages/address/address'
						});
					}, 1500)
				})
			},
			confirm(val) {
				this.addressInfo.site = val.province.label + val.city.label + val.area.label
			}
		}
	};
</script>

<style lang="scss" scoped>
	/deep/ .line {
		color: $u-light-color;
		font-size: 28rpx;
	}

	.wrap {
		background-color: #f2f2f2;

		.top {
			background-color: #ffffff;
			border-top: solid 2rpx $u-border-color;
			padding: 22rpx;

			.item {
				display: flex;
				font-size: 32rpx;
				line-height: 100rpx;
				align-items: center;
				border-bottom: solid 2rpx $u-border-color;

				.left {
					width: 180rpx;
				}

				input {
					text-align: left;
				}
			}

			.address {
				padding: 20rpx 0;

				textarea {
					// width: 100%;
					height: 150rpx;
					background-color: #f7f7f7;
					line-height: 60rpx;
					margin: 40rpx auto;
					padding: 20rpx;
				}
			}

			.site-clipboard {
				padding-right: 40rpx;

				textarea {
					// width: 100%;
					height: 150rpx;
					background-color: #f7f7f7;
					line-height: 60rpx;
					margin: 40rpx auto;
					padding: 20rpx;
				}

				.clipboard {
					display: flex;
					justify-content: center;
					align-items: center;
					font-size: 26rpx;
					color: $u-tips-color;
					height: 80rpx;

					.icon {
						margin-top: 6rpx;
						margin-left: 10rpx;
					}
				}
			}
		}

		.bottom {
			margin-top: 20rpx;
			padding: 40rpx;
			padding-right: 0;
			background-color: #ffffff;
			font-size: 28rpx;

			.tag {
				display: flex;

				.left {
					width: 160rpx;
				}

				.right {
					display: flex;
					flex-wrap: wrap;

					.tags {
						width: 140rpx;
						padding: 16rpx 8rpx;
						border: solid 2rpx $u-border-color;
						text-align: center;
						border-radius: 50rpx;
						margin: 0 10rpx 20rpx;
						display: flex;
						font-size: 28rpx;
						align-items: center;
						justify-content: center;
						color: $u-content-color;
						line-height: 1;
					}

					.plus {
						//padding: 10rpx 0;
					}
				}
			}

			.default {
				margin-top: 50rpx;
				display: flex;
				justify-content: space-between;
				border-bottom: solid 2rpx $u-border-color;
				line-height: 64rpx;

				.tips {
					font-size: 24rpx;
				}

				.right {}
			}
		}
	}
</style>
